{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "8fe06f46",
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.datasets import load_iris\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e451d25d",
   "metadata": {},
   "source": [
    "## grid_silver, grid_kid 생성"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "5273db87",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Unnamed: 0</th>\n",
       "      <th>x_index</th>\n",
       "      <th>y_index</th>\n",
       "      <th>격자 당 경로당 수</th>\n",
       "      <th>geometry</th>\n",
       "      <th>행정동</th>\n",
       "      <th>격자 당 어린이 보육시설 수</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>22</td>\n",
       "      <td>0</td>\n",
       "      <td>POLYGON ((127.0561797939232 37.53325271346528,...</td>\n",
       "      <td>자양4동</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>23</td>\n",
       "      <td>0</td>\n",
       "      <td>POLYGON ((127.05619047599266 37.53145004424569...</td>\n",
       "      <td>자양4동</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>24</td>\n",
       "      <td>0</td>\n",
       "      <td>POLYGON ((127.05620115711046 37.52964737447184...</td>\n",
       "      <td>자양4동</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>25</td>\n",
       "      <td>0</td>\n",
       "      <td>POLYGON ((127.05621183727676 37.52784470414376...</td>\n",
       "      <td>자양4동</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>20</td>\n",
       "      <td>0</td>\n",
       "      <td>POLYGON ((127.05842217001221 37.53686653680621...</td>\n",
       "      <td>자양4동</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>478</th>\n",
       "      <td>478</td>\n",
       "      <td>25</td>\n",
       "      <td>8</td>\n",
       "      <td>0</td>\n",
       "      <td>POLYGON ((127.11264035105809 37.55868932524784...</td>\n",
       "      <td>광장동</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>479</th>\n",
       "      <td>479</td>\n",
       "      <td>25</td>\n",
       "      <td>9</td>\n",
       "      <td>0</td>\n",
       "      <td>POLYGON ((127.11264968278773 37.55688665089398...</td>\n",
       "      <td>광장동</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>480</th>\n",
       "      <td>480</td>\n",
       "      <td>25</td>\n",
       "      <td>10</td>\n",
       "      <td>0</td>\n",
       "      <td>POLYGON ((127.11265901368601 37.55508397598633...</td>\n",
       "      <td>광장동</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>481</th>\n",
       "      <td>481</td>\n",
       "      <td>25</td>\n",
       "      <td>11</td>\n",
       "      <td>0</td>\n",
       "      <td>POLYGON ((127.11266834375294 37.55328130052497...</td>\n",
       "      <td>광장동</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>482</th>\n",
       "      <td>482</td>\n",
       "      <td>26</td>\n",
       "      <td>9</td>\n",
       "      <td>0</td>\n",
       "      <td>POLYGON ((127.11491404779768 37.55689405789824...</td>\n",
       "      <td>광장동</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>483 rows × 7 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     Unnamed: 0  x_index  y_index  격자 당 경로당 수  \\\n",
       "0             0        0       22           0   \n",
       "1             1        0       23           0   \n",
       "2             2        0       24           0   \n",
       "3             3        0       25           0   \n",
       "4             4        1       20           0   \n",
       "..          ...      ...      ...         ...   \n",
       "478         478       25        8           0   \n",
       "479         479       25        9           0   \n",
       "480         480       25       10           0   \n",
       "481         481       25       11           0   \n",
       "482         482       26        9           0   \n",
       "\n",
       "                                              geometry   행정동  격자 당 어린이 보육시설 수  \n",
       "0    POLYGON ((127.0561797939232 37.53325271346528,...  자양4동                0  \n",
       "1    POLYGON ((127.05619047599266 37.53145004424569...  자양4동                0  \n",
       "2    POLYGON ((127.05620115711046 37.52964737447184...  자양4동                0  \n",
       "3    POLYGON ((127.05621183727676 37.52784470414376...  자양4동                0  \n",
       "4    POLYGON ((127.05842217001221 37.53686653680621...  자양4동                0  \n",
       "..                                                 ...   ...              ...  \n",
       "478  POLYGON ((127.11264035105809 37.55868932524784...   광장동                0  \n",
       "479  POLYGON ((127.11264968278773 37.55688665089398...   광장동                0  \n",
       "480  POLYGON ((127.11265901368601 37.55508397598633...   광장동                0  \n",
       "481  POLYGON ((127.11266834375294 37.55328130052497...   광장동                0  \n",
       "482  POLYGON ((127.11491404779768 37.55689405789824...   광장동                0  \n",
       "\n",
       "[483 rows x 7 columns]"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "grid = pd.read_csv('grid_data.csv')\n",
    "grid"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "5d10f7a5",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>행정동</th>\n",
       "      <th>유아비율(%)</th>\n",
       "      <th>노인비율(%)</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>중곡1동</td>\n",
       "      <td>3.137460</td>\n",
       "      <td>17.118766</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>중곡2동</td>\n",
       "      <td>3.295395</td>\n",
       "      <td>16.238869</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>중곡3동</td>\n",
       "      <td>3.267482</td>\n",
       "      <td>18.419567</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>중곡4동</td>\n",
       "      <td>3.146067</td>\n",
       "      <td>19.300874</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>능동</td>\n",
       "      <td>3.533095</td>\n",
       "      <td>14.919499</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>구의1동</td>\n",
       "      <td>3.121392</td>\n",
       "      <td>14.161714</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>구의2동</td>\n",
       "      <td>4.239143</td>\n",
       "      <td>17.286795</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>구의3동</td>\n",
       "      <td>4.537237</td>\n",
       "      <td>15.483322</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>광장동</td>\n",
       "      <td>5.025170</td>\n",
       "      <td>11.665886</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>자양1동</td>\n",
       "      <td>2.643857</td>\n",
       "      <td>16.562986</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>자양2동</td>\n",
       "      <td>4.259584</td>\n",
       "      <td>17.522760</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>자양3동</td>\n",
       "      <td>5.723515</td>\n",
       "      <td>16.212391</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>자양4동</td>\n",
       "      <td>2.839451</td>\n",
       "      <td>20.913757</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>화양동</td>\n",
       "      <td>1.058156</td>\n",
       "      <td>9.950079</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>군자동</td>\n",
       "      <td>2.831403</td>\n",
       "      <td>16.262548</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     행정동   유아비율(%)    노인비율(%)\n",
       "1   중곡1동  3.137460  17.118766\n",
       "2   중곡2동  3.295395  16.238869\n",
       "3   중곡3동  3.267482  18.419567\n",
       "4   중곡4동  3.146067  19.300874\n",
       "5     능동  3.533095  14.919499\n",
       "6   구의1동  3.121392  14.161714\n",
       "7   구의2동  4.239143  17.286795\n",
       "8   구의3동  4.537237  15.483322\n",
       "9    광장동  5.025170  11.665886\n",
       "10  자양1동  2.643857  16.562986\n",
       "11  자양2동  4.259584  17.522760\n",
       "12  자양3동  5.723515  16.212391\n",
       "13  자양4동  2.839451  20.913757\n",
       "14   화양동  1.058156   9.950079\n",
       "15   군자동  2.831403  16.262548"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ks = pd.read_csv('kids_silvers_rate.csv')\n",
    "ks.columns = ['행정동','유아(만0~7세)','노인(만65세이상)','총인구','유아비율(%)','노인비율(%)']\n",
    "ks = ks.loc[:,['행정동', '유아비율(%)', '노인비율(%)']]\n",
    "ks = ks.iloc[1:,:]\n",
    "ks['행정동'] = ['중곡1동', '중곡2동', '중곡3동', '중곡4동', '능동', '구의1동', '구의2동', '구의3동', '광장동', \n",
    "            '자양1동', '자양2동', '자양3동', '자양4동', '화양동', '군자동']\n",
    "ks"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "dceb0ab8",
   "metadata": {},
   "outputs": [],
   "source": [
    "grid = pd.merge(grid, ks, how='outer')\n",
    "grid_silver = grid.loc[:,['노인비율(%)','격자 당 경로당 수']]\n",
    "grid_kid = grid.loc[:,['유아비율(%)','격자 당 어린이 보육시설 수']]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b35273b1",
   "metadata": {},
   "source": [
    "## scatter plot"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "2b19207e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x23d8b6fa610>"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(grid_silver['노인비율(%)'], grid_silver['격자 당 경로당 수'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "fbf56282",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x23d8b7a12b0>"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(grid_kid['유아비율(%)'], grid_kid['격자 당 어린이 보육시설 수'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "be5c8187",
   "metadata": {},
   "outputs": [],
   "source": [
    "clustering_df = pd.concat([grid_silver, grid_kid], axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "f3bf7b0c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>노인비율(%)</th>\n",
       "      <th>격자 당 경로당 수</th>\n",
       "      <th>유아비율(%)</th>\n",
       "      <th>격자 당 어린이 보육시설 수</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>20.913757</td>\n",
       "      <td>0</td>\n",
       "      <td>2.839451</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>20.913757</td>\n",
       "      <td>0</td>\n",
       "      <td>2.839451</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>20.913757</td>\n",
       "      <td>0</td>\n",
       "      <td>2.839451</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>20.913757</td>\n",
       "      <td>0</td>\n",
       "      <td>2.839451</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>20.913757</td>\n",
       "      <td>0</td>\n",
       "      <td>2.839451</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>478</th>\n",
       "      <td>11.665886</td>\n",
       "      <td>0</td>\n",
       "      <td>5.025170</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>479</th>\n",
       "      <td>11.665886</td>\n",
       "      <td>0</td>\n",
       "      <td>5.025170</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>480</th>\n",
       "      <td>11.665886</td>\n",
       "      <td>0</td>\n",
       "      <td>5.025170</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>481</th>\n",
       "      <td>11.665886</td>\n",
       "      <td>0</td>\n",
       "      <td>5.025170</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>482</th>\n",
       "      <td>11.665886</td>\n",
       "      <td>0</td>\n",
       "      <td>5.025170</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>483 rows × 4 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       노인비율(%)  격자 당 경로당 수   유아비율(%)  격자 당 어린이 보육시설 수\n",
       "0    20.913757           0  2.839451                0\n",
       "1    20.913757           0  2.839451                0\n",
       "2    20.913757           0  2.839451                0\n",
       "3    20.913757           0  2.839451                0\n",
       "4    20.913757           0  2.839451                0\n",
       "..         ...         ...       ...              ...\n",
       "478  11.665886           0  5.025170                0\n",
       "479  11.665886           0  5.025170                0\n",
       "480  11.665886           0  5.025170                0\n",
       "481  11.665886           0  5.025170                0\n",
       "482  11.665886           0  5.025170                0\n",
       "\n",
       "[483 rows x 4 columns]"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "clustering_df"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "70e2cf21",
   "metadata": {},
   "source": [
    "## 히트맵 상관관계 분석"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "838bd3d9",
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x23d8ba4a5e0>"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 360x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import seaborn as sns\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "clustering_df.columns = ['노인비율(%)', '셀 당 복지시설', '유아비율(%)', '셀 당 보육시설']\n",
    "corr = clustering_df.corr()\n",
    "plt.figure(figsize=(5,5))\n",
    "plt.rc('font',family='Malgun Gothic', size=8)\n",
    "sns.heatmap(corr, annot=True, annot_kws={\"size\": 12})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "5a698dd8",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x23d8b992460>"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 360x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import seaborn as sns\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "\n",
    "corr = grid_kid.corr()\n",
    "plt.figure(figsize=(5,5))\n",
    "sns.heatmap(corr, annot=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "c095ca99",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>유아비율(%)</th>\n",
       "      <th>격자 당 어린이 보육시설 수</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2.839451</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2.839451</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2.839451</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2.839451</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2.839451</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>478</th>\n",
       "      <td>5.025170</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>479</th>\n",
       "      <td>5.025170</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>480</th>\n",
       "      <td>5.025170</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>481</th>\n",
       "      <td>5.025170</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>482</th>\n",
       "      <td>5.025170</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>483 rows × 2 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "      유아비율(%)  격자 당 어린이 보육시설 수\n",
       "0    2.839451                0\n",
       "1    2.839451                0\n",
       "2    2.839451                0\n",
       "3    2.839451                0\n",
       "4    2.839451                0\n",
       "..        ...              ...\n",
       "478  5.025170                0\n",
       "479  5.025170                0\n",
       "480  5.025170                0\n",
       "481  5.025170                0\n",
       "482  5.025170                0\n",
       "\n",
       "[483 rows x 2 columns]"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "grid_kid"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e9b333af",
   "metadata": {},
   "source": [
    "## standard scaler 정규화"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "399679af",
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.preprocessing import StandardScaler\n",
    "\n",
    "# Target 값을 제외한 모든 속성 값을 StandardScaler를 이용하여 표준 정규 분포를 가지는 값들로 변환\n",
    "grid_silver_scaled = StandardScaler().fit_transform(grid_silver)\n",
    "grid_kid_scaled = StandardScaler().fit_transform(grid_kid)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "62cf9b22",
   "metadata": {},
   "outputs": [],
   "source": [
    "grid_silver['노인비율(%)'] = grid_silver_scaled[:,0]\n",
    "grid_silver['격자 당 경로당 수'] = grid_silver_scaled[:,1]\n",
    "grid_kid['유아비율(%)'] = grid_kid_scaled[:,0]\n",
    "grid_kid['격자 당 어린이 보육시설 수'] = grid_kid_scaled[:,1]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5589267a",
   "metadata": {},
   "source": [
    "## PCA(사용하지 않음)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "7b30b728",
   "metadata": {},
   "outputs": [],
   "source": [
    "# from sklearn.decomposition import PCA\n",
    "\n",
    "# pca = PCA(n_components=1)\n",
    "\n",
    "# #fit( )과 transform( ) 을 호출하여 PCA 변환 데이터 반환\n",
    "# pca.fit(grid_silver_scaled)\n",
    "# grid_silver_pca = pca.transform(grid_silver_scaled)\n",
    "# print(grid_silver_pca.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "f29863a4",
   "metadata": {},
   "outputs": [],
   "source": [
    "# # PCA 환된 데이터의 컬럼명을 각각 pca_component_1, pca_component_2로 명명\n",
    "# pca_columns=['pca1']\n",
    "# grid_silverDF_pca = pd.DataFrame(grid_silver_pca, columns=pca_columns)\n",
    "# grid_silverDF_pca"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "7919818f",
   "metadata": {},
   "outputs": [],
   "source": [
    "# print(pca.explained_variance_ratio_)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "67030012",
   "metadata": {},
   "outputs": [],
   "source": [
    "# from sklearn.decomposition import PCA\n",
    "\n",
    "# pca = PCA(n_components=1)\n",
    "\n",
    "# #fit( )과 transform( ) 을 호출하여 PCA 변환 데이터 반환\n",
    "# pca.fit(grid_kid_scaled)\n",
    "# grid_kid_pca = pca.transform(grid_kid_scaled)\n",
    "# print(grid_kid_pca.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "cdd6af5d",
   "metadata": {},
   "outputs": [],
   "source": [
    "# # PCA 환된 데이터의 컬럼명을 각각 pca_component_1, pca_component_2로 명명\n",
    "# pca_columns=['pca1']\n",
    "# grid_kidDF_pca = pd.DataFrame(grid_kid_pca, columns=pca_columns)\n",
    "# grid_kidDF_pca"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "51c5a852",
   "metadata": {},
   "outputs": [],
   "source": [
    "# print(pca.explained_variance_ratio_)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3161ed7e",
   "metadata": {},
   "source": [
    "## K-means clustering"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "30115d60",
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.cluster import KMeans\n",
    "import numpy as np\n",
    "import pandas as pd"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "ebdbe5bd",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>노인비율(%)</th>\n",
       "      <th>격자 당 경로당 수</th>\n",
       "      <th>유아비율(%)</th>\n",
       "      <th>격자 당 어린이 보육시설 수</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1.573096</td>\n",
       "      <td>-0.263779</td>\n",
       "      <td>-0.765451</td>\n",
       "      <td>-0.549261</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1.573096</td>\n",
       "      <td>-0.263779</td>\n",
       "      <td>-0.765451</td>\n",
       "      <td>-0.549261</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1.573096</td>\n",
       "      <td>-0.263779</td>\n",
       "      <td>-0.765451</td>\n",
       "      <td>-0.549261</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1.573096</td>\n",
       "      <td>-0.263779</td>\n",
       "      <td>-0.765451</td>\n",
       "      <td>-0.549261</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1.573096</td>\n",
       "      <td>-0.263779</td>\n",
       "      <td>-0.765451</td>\n",
       "      <td>-0.549261</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>478</th>\n",
       "      <td>-1.416842</td>\n",
       "      <td>-0.263779</td>\n",
       "      <td>1.144370</td>\n",
       "      <td>-0.549261</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>479</th>\n",
       "      <td>-1.416842</td>\n",
       "      <td>-0.263779</td>\n",
       "      <td>1.144370</td>\n",
       "      <td>-0.549261</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>480</th>\n",
       "      <td>-1.416842</td>\n",
       "      <td>-0.263779</td>\n",
       "      <td>1.144370</td>\n",
       "      <td>-0.549261</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>481</th>\n",
       "      <td>-1.416842</td>\n",
       "      <td>-0.263779</td>\n",
       "      <td>1.144370</td>\n",
       "      <td>-0.549261</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>482</th>\n",
       "      <td>-1.416842</td>\n",
       "      <td>-0.263779</td>\n",
       "      <td>1.144370</td>\n",
       "      <td>-0.549261</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>483 rows × 4 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "      노인비율(%)  격자 당 경로당 수   유아비율(%)  격자 당 어린이 보육시설 수\n",
       "0    1.573096   -0.263779 -0.765451        -0.549261\n",
       "1    1.573096   -0.263779 -0.765451        -0.549261\n",
       "2    1.573096   -0.263779 -0.765451        -0.549261\n",
       "3    1.573096   -0.263779 -0.765451        -0.549261\n",
       "4    1.573096   -0.263779 -0.765451        -0.549261\n",
       "..        ...         ...       ...              ...\n",
       "478 -1.416842   -0.263779  1.144370        -0.549261\n",
       "479 -1.416842   -0.263779  1.144370        -0.549261\n",
       "480 -1.416842   -0.263779  1.144370        -0.549261\n",
       "481 -1.416842   -0.263779  1.144370        -0.549261\n",
       "482 -1.416842   -0.263779  1.144370        -0.549261\n",
       "\n",
       "[483 rows x 4 columns]"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "clustering_df = pd.concat([grid_silver, grid_kid], axis=1)\n",
    "clustering_df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "0e2accfc",
   "metadata": {},
   "outputs": [],
   "source": [
    "### 여러개의 클러스터링 갯수를 List로 입력 받아 각각의 실루엣 계수를 면적으로 시각화한 함수 작성\n",
    "def visualize_silhouette(cluster_lists, clustering_df): \n",
    "    X_features = clustering_df.copy()\n",
    "    from sklearn.datasets import make_blobs\n",
    "    from sklearn.cluster import KMeans\n",
    "    from sklearn.metrics import silhouette_samples, silhouette_score\n",
    "\n",
    "    import matplotlib.pyplot as plt\n",
    "    import matplotlib.cm as cm\n",
    "    import math\n",
    "    # 입력값으로 클러스터링 갯수들을 리스트로 받아서, 각 갯수별로 클러스터링을 적용하고 실루엣 개수를 구함\n",
    "    n_cols = len(cluster_lists)\n",
    "    # plt.subplots()으로 리스트에 기재된 클러스터링 수만큼의 sub figures를 가지는 axs 생성 \n",
    "    fig, axs = plt.subplots(figsize=(4*n_cols, 4), nrows=1, ncols=n_cols)\n",
    "    \n",
    "    # 리스트에 기재된 클러스터링 갯수들을 차례로 iteration 수행하면서 실루엣 개수 시각화\n",
    "    for ind, n_cluster in enumerate(cluster_lists):\n",
    "        \n",
    "        # KMeans 클러스터링 수행하고, 실루엣 스코어와 개별 데이터의 실루엣 값 계산. \n",
    "        clusterer = KMeans(n_clusters = n_cluster, max_iter=500, random_state=4)\n",
    "        cluster_labels = clusterer.fit_predict(X_features)\n",
    "        \n",
    "        sil_avg = silhouette_score(X_features, cluster_labels)\n",
    "        sil_values = silhouette_samples(X_features, cluster_labels)\n",
    "        X_features['label'] = cluster_labels\n",
    "        X_features['silhouette_coeff'] = sil_values\n",
    "        gb = X_features.groupby('label')['silhouette_coeff'].mean()\n",
    "        print(gb)\n",
    "        val = np.var(gb)\n",
    "        print('val: ',val)\n",
    "        y_lower = 10\n",
    "        axs[ind].set_title('Number of Cluster : '+ str(n_cluster)+'\\n' \\\n",
    "                          'Silhouette Score :' + str(round(sil_avg,3)) )\n",
    "        axs[ind].set_xlabel(\"The silhouette coefficient values\")\n",
    "        axs[ind].set_ylabel(\"Cluster label\")\n",
    "        axs[ind].set_xlim([-0.1, 1])\n",
    "        axs[ind].set_ylim([0, len(X_features) + (n_cluster + 1) * 10])\n",
    "        axs[ind].set_yticks([])  # Clear the yaxis labels / ticks\n",
    "        axs[ind].set_xticks([0, 0.2, 0.4, 0.6, 0.8, 1])\n",
    "        \n",
    "        # 클러스터링 갯수별로 fill_betweenx( )형태의 막대 그래프 표현. \n",
    "        for i in range(n_cluster):\n",
    "            ith_cluster_sil_values = sil_values[cluster_labels==i]\n",
    "            ith_cluster_sil_values.sort()\n",
    "            \n",
    "            size_cluster_i = ith_cluster_sil_values.shape[0]\n",
    "            y_upper = y_lower + size_cluster_i\n",
    "            \n",
    "            color = cm.nipy_spectral(float(i) / n_cluster)\n",
    "            axs[ind].fill_betweenx(np.arange(y_lower, y_upper), 0, ith_cluster_sil_values, \\\n",
    "                                facecolor=color, edgecolor=color, alpha=0.7)\n",
    "            axs[ind].text(-0.05, y_lower + 0.5 * size_cluster_i, str(i))\n",
    "            y_lower = y_upper + 10\n",
    "            \n",
    "        axs[ind].axvline(x=sil_avg, color=\"red\", linestyle=\"--\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "4f796da5",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "label\n",
      "0    0.081841\n",
      "1    0.426510\n",
      "2    0.301154\n",
      "Name: silhouette_coeff, dtype: float64\n",
      "val:  0.020289853358489235\n",
      "label\n",
      "0    0.424976\n",
      "1    0.706908\n",
      "2    0.524130\n",
      "3    0.196113\n",
      "Name: silhouette_coeff, dtype: float64\n",
      "val:  0.03397562701821661\n",
      "label\n",
      "0    0.553938\n",
      "1    0.602737\n",
      "2    0.200752\n",
      "3    0.734404\n",
      "4    0.285950\n",
      "Name: silhouette_coeff, dtype: float64\n",
      "val:  0.04015776227610681\n",
      "label\n",
      "0    0.471473\n",
      "1    0.473536\n",
      "2    0.451114\n",
      "3    0.749962\n",
      "4    0.830782\n",
      "5    0.261049\n",
      "Name: silhouette_coeff, dtype: float64\n",
      "val:  0.03724421613156453\n"
     ]
    },
    {
     "data": {
      "image/png": "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Z5/NqlWrWLx4MYsXLx5/RN5HH82dX3BB6Z6AiISHPgNEZhXnHP39/WSz2dwVqnGZhJ6eHl577bWgY8wpVc8+C0BXc/O490mn06xbt278kellWtR4TqCzs5Ouri6SySQNDQ2sXLmSpqYmGhsbqauro7q6murqajZs2DD5gYLuvjt3rj9IInOTPgNEZpU9e/ZQWVnJxz72sdwVqnGZhKeeeopt27bNyiM4hNWfvfIKAJ8Y56c0ra2t1NfXc99993HKKaeUMtqcocZzDM45Wltbqays5Etf+hKnn366BhYRERGRd8hms2zfvp0tW7YEHUVmEOccNTU11NXVBR1lzhjeSHTwaz4wMEBbWxt1dXXcddddajqLKLDG85ZbbmH37t1kMhl27txZvIE8Jsk5x9DQEAMDAwwMDLB69WruuusulixZEmguERERCS8zo3mCXfdEJLza29sxM7Zu3conPvEJHeqwyAJpPJ999ln27t3LM888w8svv8yNN97Irl27SprB93183yeTydDV1UU2m6WhoYETTjiBM844gy1bthCPx0uaSURERGYWz/P0fUFkBuro6CCTyfAXf/EXHK2Bh0oikMbz8ccf57LLLgNg7dq17N+/v2jLam9vH5l2zuH7PtlsFs/zSCQSJJNJzjvvPK666ipWrFhRtBwiEm69vb309fXR19dHU1NT0HFERESkCLq7u+nt7cXMuOeee9R0llAgjefwj3dHQpSV4fs+nucVZP7ZbJb+/n56e3uJRCLs2LGDiooKkskkyWSSRCJBNBoN5neb3/pW6ZcpIofU2trK5Zdfzpo1a1i7dm3xFqTPAJHZTTUuEkr3bNhAR0cHiUSCK664gjPPPFMbnUoskMazqqqKjo6Okcue50276fR9f2Q/bYCjjjqKdevWceGFF4ZrTcbSpUEnEJExJBIJtm3bVvxd5vQZIDK7qcYlL2zjmcx17YkEb3V28ulrruHiiy8OOs6cFEjj2dzczCOPPEJzczOvvvrqtAbwGR6B1jnH6aefzoc//GGOPvpoyspCOmDvww/nzi+9NNgcIhIMfQaIzG6qcSEc45nI25xzrP/FL9g4bx6bNm0KOs6cFUh3tmXLFnbt2kVzczMVFRXs2LFjSvPp6emhs7OT5cuXc9ttt7F27drwH/bkgQdy5/qDJDI36TNAZHZTjQulHc9EJtbf309rayu3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\n",
      "text/plain": [
       "<Figure size 1152x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# cluster 개수를 2개, 3개, 4개, 5개 일때의 클러스터별 실루엣 계수 평균값을 시각화 \n",
    "visualize_silhouette([3, 4, 5, 6], clustering_df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "60e12cc7",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>노인비율(%)</th>\n",
       "      <th>격자 당 경로당 수</th>\n",
       "      <th>유아비율(%)</th>\n",
       "      <th>격자 당 어린이 보육시설 수</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1.573096</td>\n",
       "      <td>-0.263779</td>\n",
       "      <td>-0.765451</td>\n",
       "      <td>-0.549261</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1.573096</td>\n",
       "      <td>-0.263779</td>\n",
       "      <td>-0.765451</td>\n",
       "      <td>-0.549261</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1.573096</td>\n",
       "      <td>-0.263779</td>\n",
       "      <td>-0.765451</td>\n",
       "      <td>-0.549261</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1.573096</td>\n",
       "      <td>-0.263779</td>\n",
       "      <td>-0.765451</td>\n",
       "      <td>-0.549261</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1.573096</td>\n",
       "      <td>-0.263779</td>\n",
       "      <td>-0.765451</td>\n",
       "      <td>-0.549261</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>478</th>\n",
       "      <td>-1.416842</td>\n",
       "      <td>-0.263779</td>\n",
       "      <td>1.144370</td>\n",
       "      <td>-0.549261</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>479</th>\n",
       "      <td>-1.416842</td>\n",
       "      <td>-0.263779</td>\n",
       "      <td>1.144370</td>\n",
       "      <td>-0.549261</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>480</th>\n",
       "      <td>-1.416842</td>\n",
       "      <td>-0.263779</td>\n",
       "      <td>1.144370</td>\n",
       "      <td>-0.549261</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>481</th>\n",
       "      <td>-1.416842</td>\n",
       "      <td>-0.263779</td>\n",
       "      <td>1.144370</td>\n",
       "      <td>-0.549261</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>482</th>\n",
       "      <td>-1.416842</td>\n",
       "      <td>-0.263779</td>\n",
       "      <td>1.144370</td>\n",
       "      <td>-0.549261</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>483 rows × 4 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "      노인비율(%)  격자 당 경로당 수   유아비율(%)  격자 당 어린이 보육시설 수\n",
       "0    1.573096   -0.263779 -0.765451        -0.549261\n",
       "1    1.573096   -0.263779 -0.765451        -0.549261\n",
       "2    1.573096   -0.263779 -0.765451        -0.549261\n",
       "3    1.573096   -0.263779 -0.765451        -0.549261\n",
       "4    1.573096   -0.263779 -0.765451        -0.549261\n",
       "..        ...         ...       ...              ...\n",
       "478 -1.416842   -0.263779  1.144370        -0.549261\n",
       "479 -1.416842   -0.263779  1.144370        -0.549261\n",
       "480 -1.416842   -0.263779  1.144370        -0.549261\n",
       "481 -1.416842   -0.263779  1.144370        -0.549261\n",
       "482 -1.416842   -0.263779  1.144370        -0.549261\n",
       "\n",
       "[483 rows x 4 columns]"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cdf_cpy = clustering_df.copy()\n",
    "clustering_df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "4c96e0c0",
   "metadata": {},
   "outputs": [],
   "source": [
    "kmeans = KMeans(n_clusters=5, init='k-means++', max_iter=200, random_state=0)\n",
    "cluster_labels = kmeans.fit_predict(clustering_df)\n",
    "cdf_cpy['kmeans_label']  = cluster_labels\n",
    "#cluster_centers_ 는 개별 클러스터의 중심 위치 좌표 시각화를 위해 추출\n",
    "centers = kmeans.cluster_centers_\n",
    "unique_labels = np.unique(cluster_labels)\n",
    "markers=['o', 's', '^', 'P','D','H','x']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "b7258453",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0 cluster 265\n",
      "1 cluster 13\n",
      "2 cluster 55\n",
      "3 cluster 117\n",
      "4 cluster 33\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "c:\\users\\jinsung\\appdata\\local\\programs\\python\\python39\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:214: RuntimeWarning: Glyph 8722 missing from current font.\n",
      "  font.set_text(s, 0.0, flags=flags)\n",
      "c:\\users\\jinsung\\appdata\\local\\programs\\python\\python39\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:183: RuntimeWarning: Glyph 8722 missing from current font.\n",
      "  font.set_text(s, 0, flags=flags)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 군집된 label 유형별로 iteration 하면서 marker 별로 scatter plot 수행. \n",
    "for label in unique_labels:\n",
    "    label_cluster = cdf_cpy[cdf_cpy['kmeans_label']==label]\n",
    "    center_x_y = centers[label]\n",
    "    plt.scatter(x=label_cluster['노인비율(%)'], y=label_cluster['격자 당 경로당 수'], edgecolor='k', \n",
    "                marker=markers[label] )\n",
    "    \n",
    "    # 군집별 중심 위치 좌표 시각화 \n",
    "    plt.scatter(x=center_x_y[0], y=center_x_y[1], s=200, color='white',\n",
    "                alpha=0.9, edgecolor='k', marker=markers[label])\n",
    "    plt.scatter(x=center_x_y[0], y=center_x_y[1], s=70, color='k', edgecolor='k', \n",
    "                marker='$%d$' % label)\n",
    "    print(label,'cluster',label_cluster.shape[0])\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "4bb3198b",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0 cluster 265\n",
      "1 cluster 13\n",
      "2 cluster 55\n",
      "3 cluster 117\n",
      "4 cluster 33\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 군집된 label 유형별로 iteration 하면서 marker 별로 scatter plot 수행. \n",
    "for label in unique_labels:\n",
    "    label_cluster = cdf_cpy[cdf_cpy['kmeans_label']==label]\n",
    "    center_x_y = centers[label]\n",
    "    plt.scatter(x=label_cluster['유아비율(%)'], y=label_cluster['격자 당 어린이 보육시설 수'], edgecolor='k', \n",
    "                marker=markers[label] )\n",
    "    \n",
    "    # 군집별 중심 위치 좌표 시각화 \n",
    "    plt.scatter(x=center_x_y[2], y=center_x_y[3], s=200, color='white',\n",
    "                alpha=0.9, edgecolor='k', marker=markers[label])\n",
    "    plt.scatter(x=center_x_y[2], y=center_x_y[3], s=70, color='k', edgecolor='k', \n",
    "                marker='$%d$' % label)\n",
    "    print(label,'cluster',label_cluster.shape[0])\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "c48e8d2a",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0 cluster 265\n",
      "1 cluster 13\n",
      "2 cluster 55\n",
      "3 cluster 117\n",
      "4 cluster 33\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 군집된 label 유형별로 iteration 하면서 marker 별로 scatter plot 수행. \n",
    "for label in unique_labels:\n",
    "    label_cluster = cdf_cpy[cdf_cpy['kmeans_label']==label]\n",
    "    center_x_y = centers[label]\n",
    "    plt.scatter(x=label_cluster['노인비율(%)'], y=label_cluster['유아비율(%)'], edgecolor='k', \n",
    "                marker=markers[label] )\n",
    "    \n",
    "    # 군집별 중심 위치 좌표 시각화 \n",
    "    plt.scatter(x=center_x_y[0], y=center_x_y[2], s=200, color='white',\n",
    "                alpha=0.9, edgecolor='k', marker=markers[label])\n",
    "    plt.scatter(x=center_x_y[0], y=center_x_y[2], s=70, color='k', edgecolor='k', \n",
    "                marker='$%d$' % label)\n",
    "    print(label,'cluster',label_cluster.shape[0])\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "9953f1c9",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0 cluster 265\n",
      "1 cluster 13\n",
      "2 cluster 55\n",
      "3 cluster 117\n",
      "4 cluster 33\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 군집된 label 유형별로 iteration 하면서 marker 별로 scatter plot 수행. \n",
    "for label in unique_labels:\n",
    "    label_cluster = cdf_cpy[cdf_cpy['kmeans_label']==label]\n",
    "    center_x_y = centers[label]\n",
    "    plt.scatter(x=label_cluster['격자 당 경로당 수'], y=label_cluster['격자 당 어린이 보육시설 수'], edgecolor='k', \n",
    "                marker=markers[label] )\n",
    "    \n",
    "    # 군집별 중심 위치 좌표 시각화 \n",
    "    plt.scatter(x=center_x_y[1], y=center_x_y[3], s=200, color='white',\n",
    "                alpha=0.9, edgecolor='k', marker=markers[label])\n",
    "    plt.scatter(x=center_x_y[1], y=center_x_y[3], s=70, color='k', edgecolor='k', \n",
    "                marker='$%d$' % label)\n",
    "    print(label,'cluster',label_cluster.shape[0])\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "fa379810",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "ename": "LinAlgError",
     "evalue": "singular matrix",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mLinAlgError\u001b[0m                               Traceback (most recent call last)",
      "\u001b[1;32m~\\AppData\\Local\\Temp/ipykernel_8220/1767788854.py\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m      9\u001b[0m \u001b[0mc2_silver_rate\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mkde\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0max\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0max\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0msecondary_y\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mTrue\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mbw_method\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;36m0.5\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mc\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m'b'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     10\u001b[0m \u001b[0mc3_silver_rate\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mkde\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0max\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0max\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0msecondary_y\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mTrue\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mbw_method\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;36m0.5\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mc\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m'y'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 11\u001b[1;33m \u001b[0mc4_silver_rate\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mkde\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0max\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0max\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0msecondary_y\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mTrue\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mbw_method\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;36m0.5\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mc\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m'c'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m     12\u001b[0m \u001b[0mplt\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlegend\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     13\u001b[0m \u001b[0mplt\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mshow\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mc:\\users\\jinsung\\appdata\\local\\programs\\python\\python39\\lib\\site-packages\\pandas\\plotting\\_core.py\u001b[0m in \u001b[0;36mkde\u001b[1;34m(self, bw_method, ind, **kwargs)\u001b[0m\n\u001b[0;32m   1452\u001b[0m             \u001b[1;33m>>\u001b[0m\u001b[1;33m>\u001b[0m \u001b[0max\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mdf\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mkde\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mind\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m2\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m3\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m4\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m5\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m6\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1453\u001b[0m         \"\"\"\n\u001b[1;32m-> 1454\u001b[1;33m         \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkind\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m\"kde\"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mbw_method\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mbw_method\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mind\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mind\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m   1455\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1456\u001b[0m     \u001b[0mdensity\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mkde\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mc:\\users\\jinsung\\appdata\\local\\programs\\python\\python39\\lib\\site-packages\\pandas\\plotting\\_core.py\u001b[0m in \u001b[0;36m__call__\u001b[1;34m(self, *args, **kwargs)\u001b[0m\n\u001b[0;32m    970\u001b[0m                     \u001b[0mdata\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcolumns\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mlabel_name\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    971\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 972\u001b[1;33m         \u001b[1;32mreturn\u001b[0m \u001b[0mplot_backend\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdata\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mkind\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mkind\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    973\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    974\u001b[0m     \u001b[0m__call__\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m__doc__\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0m__doc__\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mc:\\users\\jinsung\\appdata\\local\\programs\\python\\python39\\lib\\site-packages\\pandas\\plotting\\_matplotlib\\__init__.py\u001b[0m in \u001b[0;36mplot\u001b[1;34m(data, kind, **kwargs)\u001b[0m\n\u001b[0;32m     69\u001b[0m             \u001b[0mkwargs\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m\"ax\"\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mgetattr\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0max\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m\"left_ax\"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0max\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     70\u001b[0m     \u001b[0mplot_obj\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mPLOT_CLASSES\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mkind\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdata\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 71\u001b[1;33m     \u001b[0mplot_obj\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mgenerate\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m     72\u001b[0m     \u001b[0mplot_obj\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdraw\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     73\u001b[0m     \u001b[1;32mreturn\u001b[0m \u001b[0mplot_obj\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mresult\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mc:\\users\\jinsung\\appdata\\local\\programs\\python\\python39\\lib\\site-packages\\pandas\\plotting\\_matplotlib\\core.py\u001b[0m in \u001b[0;36mgenerate\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m    327\u001b[0m         \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_compute_plot_data\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    328\u001b[0m         \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_setup_subplots\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 329\u001b[1;33m         \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_make_plot\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    330\u001b[0m         \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_add_table\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    331\u001b[0m         \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_make_legend\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mc:\\users\\jinsung\\appdata\\local\\programs\\python\\python39\\lib\\site-packages\\pandas\\plotting\\_matplotlib\\hist.py\u001b[0m in \u001b[0;36m_make_plot\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m    138\u001b[0m                 \u001b[0mkwds\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m\"weights\"\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mweights\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    139\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 140\u001b[1;33m             \u001b[0martists\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_plot\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0max\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0my\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mcolumn_num\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mstacking_id\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mstacking_id\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwds\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    141\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    142\u001b[0m             \u001b[1;31m# when by is applied, show title for subplots to know which group it is\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mc:\\users\\jinsung\\appdata\\local\\programs\\python\\python39\\lib\\site-packages\\pandas\\plotting\\_matplotlib\\hist.py\u001b[0m in \u001b[0;36m_plot\u001b[1;34m(cls, ax, y, style, bw_method, ind, column_num, stacking_id, **kwds)\u001b[0m\n\u001b[0;32m    214\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    215\u001b[0m         \u001b[0my\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mremove_na_arraylike\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0my\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 216\u001b[1;33m         \u001b[0mgkde\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mgaussian_kde\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0my\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mbw_method\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mbw_method\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    217\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    218\u001b[0m         \u001b[0my\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mgkde\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mevaluate\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mind\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mc:\\users\\jinsung\\appdata\\local\\programs\\python\\python39\\lib\\site-packages\\scipy\\stats\\_kde.py\u001b[0m in \u001b[0;36m__init__\u001b[1;34m(self, dataset, bw_method, weights)\u001b[0m\n\u001b[0;32m    205\u001b[0m             \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_neff\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m/\u001b[0m\u001b[0msum\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_weights\u001b[0m\u001b[1;33m**\u001b[0m\u001b[1;36m2\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    206\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 207\u001b[1;33m         \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mset_bandwidth\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mbw_method\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mbw_method\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    208\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    209\u001b[0m     \u001b[1;32mdef\u001b[0m \u001b[0mevaluate\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mpoints\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mc:\\users\\jinsung\\appdata\\local\\programs\\python\\python39\\lib\\site-packages\\scipy\\stats\\_kde.py\u001b[0m in \u001b[0;36mset_bandwidth\u001b[1;34m(self, bw_method)\u001b[0m\n\u001b[0;32m    553\u001b[0m             \u001b[1;32mraise\u001b[0m \u001b[0mValueError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mmsg\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    554\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 555\u001b[1;33m         \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_compute_covariance\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    556\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    557\u001b[0m     \u001b[1;32mdef\u001b[0m \u001b[0m_compute_covariance\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mc:\\users\\jinsung\\appdata\\local\\programs\\python\\python39\\lib\\site-packages\\scipy\\stats\\_kde.py\u001b[0m in \u001b[0;36m_compute_covariance\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m    565\u001b[0m                                                \u001b[0mbias\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mFalse\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    566\u001b[0m                                                aweights=self.weights))\n\u001b[1;32m--> 567\u001b[1;33m             \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_data_inv_cov\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mlinalg\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0minv\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_data_covariance\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    568\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    569\u001b[0m         \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcovariance\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_data_covariance\u001b[0m \u001b[1;33m*\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mfactor\u001b[0m\u001b[1;33m**\u001b[0m\u001b[1;36m2\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mc:\\users\\jinsung\\appdata\\local\\programs\\python\\python39\\lib\\site-packages\\scipy\\linalg\\_basic.py\u001b[0m in \u001b[0;36minv\u001b[1;34m(a, overwrite_a, check_finite)\u001b[0m\n\u001b[0;32m    966\u001b[0m         \u001b[0minv_a\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0minfo\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mgetri\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mlu\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mpiv\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mlwork\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mlwork\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0moverwrite_lu\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    967\u001b[0m     \u001b[1;32mif\u001b[0m \u001b[0minfo\u001b[0m \u001b[1;33m>\u001b[0m \u001b[1;36m0\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 968\u001b[1;33m         \u001b[1;32mraise\u001b[0m \u001b[0mLinAlgError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"singular matrix\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    969\u001b[0m     \u001b[1;32mif\u001b[0m \u001b[0minfo\u001b[0m \u001b[1;33m<\u001b[0m \u001b[1;36m0\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    970\u001b[0m         raise ValueError('illegal value in %d-th argument of internal '\n",
      "\u001b[1;31mLinAlgError\u001b[0m: singular matrix"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "c:\\users\\jinsung\\appdata\\local\\programs\\python\\python39\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:214: RuntimeWarning: Glyph 8722 missing from current font.\n",
      "  font.set_text(s, 0.0, flags=flags)\n",
      "c:\\users\\jinsung\\appdata\\local\\programs\\python\\python39\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:183: RuntimeWarning: Glyph 8722 missing from current font.\n",
      "  font.set_text(s, 0, flags=flags)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "c0_silver_rate = cdf_cpy[cdf_cpy['kmeans_label']==0]['노인비율(%)']\n",
    "c1_silver_rate = cdf_cpy[cdf_cpy['kmeans_label']==1]['노인비율(%)']\n",
    "c2_silver_rate = cdf_cpy[cdf_cpy['kmeans_label']==2]['노인비율(%)']\n",
    "c3_silver_rate = cdf_cpy[cdf_cpy['kmeans_label']==3]['노인비율(%)']\n",
    "c4_silver_rate = cdf_cpy[cdf_cpy['kmeans_label']==4]['노인비율(%)']\n",
    "\n",
    "ax = c0_silver_rate.plot.kde(secondary_y=True,bw_method=0.5, c='r')\n",
    "c1_silver_rate.plot.kde(ax=ax,secondary_y=True,bw_method=0.5, c='g')\n",
    "c2_silver_rate.plot.kde(ax=ax,secondary_y=True,bw_method=0.5, c='b')\n",
    "c3_silver_rate.plot.kde(ax=ax,secondary_y=True,bw_method=0.5, c='y')\n",
    "c4_silver_rate.plot.kde(ax=ax,secondary_y=True,bw_method=0.5, c='c')\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c2c07dbe",
   "metadata": {},
   "outputs": [],
   "source": [
    "print('0 cluster mean',round(c0_silver_rate.mean(),2))\n",
    "print('1 cluster mean',round(c1_silver_rate.mean(),2))\n",
    "print('2 cluster mean',round(c2_silver_rate.mean(),2))\n",
    "print('3 cluster mean',round(c3_silver_rate.mean(),2))\n",
    "print('4 cluster mean',round(c4_silver_rate.mean(),2))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9dee9556",
   "metadata": {},
   "outputs": [],
   "source": [
    "c0_silver_fct = cdf_cpy[cdf_cpy['kmeans_label']==0]['격자 당 경로당 수']\n",
    "c1_silver_fct = cdf_cpy[cdf_cpy['kmeans_label']==1]['격자 당 경로당 수']\n",
    "c2_silver_fct = cdf_cpy[cdf_cpy['kmeans_label']==2]['격자 당 경로당 수']\n",
    "c3_silver_fct = cdf_cpy[cdf_cpy['kmeans_label']==3]['격자 당 경로당 수']\n",
    "c4_silver_fct = cdf_cpy[cdf_cpy['kmeans_label']==4]['격자 당 경로당 수']\n",
    "\n",
    "ax = c0_silver_fct.plot.kde(secondary_y=True,bw_method=0.5, c='r')\n",
    "c1_silver_fct.plot.kde(ax=ax,secondary_y=True,bw_method=0.5, c='g')\n",
    "c2_silver_fct.plot.kde(ax=ax,secondary_y=True,bw_method=0.5, c='b')\n",
    "c3_silver_fct.plot.kde(ax=ax,secondary_y=True,bw_method=0.5, c='y')\n",
    "c4_silver_fct.plot.kde(ax=ax,secondary_y=True,bw_method=0.5, c='c')\n",
    "plt.legend()\n",
    "plt.show()\n",
    "\n",
    "print('0 cluster mean',round(c0_silver_fct.mean(),2))\n",
    "print('1 cluster mean',round(c1_silver_fct.mean(),2))\n",
    "print('2 cluster mean',round(c2_silver_fct.mean(),2))\n",
    "print('3 cluster mean',round(c3_silver_fct.mean(),2))\n",
    "print('4 cluster mean',round(c4_silver_fct.mean(),2))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e2c675c8",
   "metadata": {
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "c0_kid_rate = cdf_cpy[cdf_cpy['kmeans_label']==0]['유아비율(%)']\n",
    "c1_kid_rate = cdf_cpy[cdf_cpy['kmeans_label']==1]['유아비율(%)']\n",
    "c2_kid_rate = cdf_cpy[cdf_cpy['kmeans_label']==2]['유아비율(%)']\n",
    "c3_kid_rate = cdf_cpy[cdf_cpy['kmeans_label']==3]['유아비율(%)']\n",
    "c4_kid_rate = cdf_cpy[cdf_cpy['kmeans_label']==4]['유아비율(%)']\n",
    "\n",
    "ax = c0_kid_rate.plot.kde(secondary_y=True,bw_method=0.5, c='r')\n",
    "c1_kid_rate.plot.kde(ax=ax,secondary_y=True,bw_method=0.5, c='g')\n",
    "c2_kid_rate.plot.kde(ax=ax,secondary_y=True,bw_method=0.5, c='b')\n",
    "c3_kid_rate.plot.kde(ax=ax,secondary_y=True,bw_method=0.5, c='y')\n",
    "c4_kid_rate.plot.kde(ax=ax,secondary_y=True,bw_method=0.5, c='c')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "4dc817ff",
   "metadata": {},
   "outputs": [],
   "source": [
    "print('0 cluster mean',round(c0_kid_rate.mean(),2))\n",
    "print('1 cluster mean',round(c1_kid_rate.mean(),2))\n",
    "print('2 cluster mean',round(c2_kid_rate.mean(),2))\n",
    "print('3 cluster mean',round(c3_kid_rate.mean(),2))\n",
    "print('4 cluster mean',round(c4_kid_rate.mean(),2))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "15978de1",
   "metadata": {},
   "outputs": [],
   "source": [
    "c0_kid_fct = cdf_cpy[cdf_cpy['kmeans_label']==0]['격자 당 어린이 보육시설 수']\n",
    "c1_kid_fct = cdf_cpy[cdf_cpy['kmeans_label']==1]['격자 당 어린이 보육시설 수']\n",
    "c2_kid_fct = cdf_cpy[cdf_cpy['kmeans_label']==2]['격자 당 어린이 보육시설 수']\n",
    "c3_kid_fct = cdf_cpy[cdf_cpy['kmeans_label']==3]['격자 당 어린이 보육시설 수']\n",
    "c4_kid_fct = cdf_cpy[cdf_cpy['kmeans_label']==4]['격자 당 어린이 보육시설 수']\n",
    "\n",
    "ax = c0_kid_fct.plot.kde(secondary_y=True,bw_method=0.5, c='r')\n",
    "c1_kid_fct.plot.kde(ax=ax,secondary_y=True,bw_method=0.5, c='g')\n",
    "c2_kid_fct.plot.kde(ax=ax,secondary_y=True,bw_method=0.5, c='b')\n",
    "c3_kid_fct.plot.kde(ax=ax,secondary_y=True,bw_method=0.5, c='y')\n",
    "c4_kid_fct.plot.kde(ax=ax,secondary_y=True,bw_method=0.5, c='c')\n",
    "# plt.legend()\n",
    "plt.show()\n",
    "\n",
    "print('0 cluster mean',round(c0_kid_fct.mean(),2))\n",
    "print('1 cluster mean',round(c1_kid_fct.mean(),2))\n",
    "print('2 cluster mean',round(c2_kid_fct.mean(),2))\n",
    "print('3 cluster mean',round(c3_kid_fct.mean(),2))\n",
    "print('4 cluster mean',round(c4_kid_fct.mean(),2))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b0cf4e5a",
   "metadata": {},
   "outputs": [],
   "source": [
    "grid['kmeans_label']=cdf_cpy['kmeans_label']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "992b7b75",
   "metadata": {},
   "outputs": [],
   "source": [
    "grid = grid.iloc[:,1:]\n",
    "grid"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e64185fc",
   "metadata": {},
   "outputs": [],
   "source": [
    "grid['kmeans_label'].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "296a52c9",
   "metadata": {},
   "outputs": [],
   "source": [
    "grid.to_csv('clustered_grid.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b0129eca",
   "metadata": {},
   "outputs": [],
   "source": [
    "# cc_GJ= gpd.GeoDataFrame.from_file('./childrencare_GwangJin/childrencare_GwangJin.shp',encoding='euc-kr')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b00fdeef",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
